package com.zhangtai.modules.entity.salary;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.zhangtai.config.LongJsonDeserializer;
import com.zhangtai.config.LongJsonSerializer;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
	

/**
 * 薪资变动
 *
 * @author chenshun
 * @email sunlightcs@gmail.com
 * @date 2020-10-21 13:55:27
 */
@Data
@TableName("tb_salary_change")
public class SalaryChangeEntity implements Serializable {
	private static final long serialVersionUID = 1L;

			/**
		 * 薪资变动id
		 */
			@TableId(value="id",type= IdType.AUTO)
		@JsonDeserialize(using = LongJsonDeserializer.class)
		@JsonSerialize(using = LongJsonSerializer.class)
			private Long id;
			/**
		 * 申请人code
		 */
			private String applyCode;
			/**
		 * 申请人名字
		 */
			private String applyName;
			/**
		 * 申请日期
		 */
			private Date applyTime;
			/**
		 * 员工oid
		 */
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long oid;
			/**
		 * 现月薪标准
		 */
			private BigDecimal standardMonthlySalary;
			/**
		 * 现基本工资基数
		 */
			private BigDecimal baseSalary;
			/**
		 * 现模块工资基数
		 */
			private BigDecimal moduleSalaryBase;
			/**
		 * 申请调整月薪标准
		 */
			private BigDecimal applyAdjustmentMonthlySalary;
			/**
		 * 申请调整基本工资基数
		 */
			private BigDecimal applyBaseSalary;
			/**
		 * 申请调整模块工资基数
		 */
			private BigDecimal applyModuleSalaryBase;
			/**
		 * 原津贴补助
		 */
			private BigDecimal originalAllowanceSubsidy;
			/**
		 * 拟调整津贴补助
		 */
			private BigDecimal proposedAdjustmentAllowance;
			/**
		 * 变动类型   0 入职定薪  专业晋级/管理晋级/试用转正/入职定薪/降级调薪/薪资调整/调动调薪
		 */
			private Integer type;
			/**
		 * 审批状态 0待发起 1审批中 2已审批 3作废
		 */
			private Integer approveStatus;
			/**
		 * 状态 0 未确认 1 确认
		 */
			private Integer status;
			/**
		 * bpm详情
		 */
			private String bpmUrl;
			/**
		 * 创建时间
		 */
			private Date createTime;
			/**
		 * 是否删除
		 */
			private Integer isDelete;
			/**
		 * 备注
		 */
			private String remark;
			/**
		 * 
		 */
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long unitId;
			/**
		 * 附件url
		 */
			private String fileUrl;
			/**
		 * 新公司id
		 */
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long newOrgId;
			/**
		 * 新部门id
		 */
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long newUnitId;
			/**
		 * 新职位id
		 */
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long newJobId;
			/**
		 * 新职级id
		 */
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long newJobLevelId;
			/**
		 * 新职级
		 */
			private String newJobLevel;
			/**
		 * 新职级类别，1：专业2:管理，
		 */
			private Integer newJobLevelType;

	/**
	 * 生效日期
	 */
	private Date effectiveTime;
	
}
